package com.java.zhuiyun.api.back_course.service;

import com.java.zhuiyun.api.back_course.entity.BackCourse;
import com.java.zhuiyun.api.back_course.model.BackCourseModel;
import com.java.zhuiyun.api.course_unit.entity.CourseUnit;
import com.java.zhuiyun.api.dict_navigation_tabs.entity.SysDictPc;
import com.java.zhuiyun.api.sys_dict.entity.SysDict;
import com.java.zhuiyun.api.teacher.entity.Teacher;
import com.java.zhuiyun.common.response.CommonResult;
import com.java.zhuiyun.util.pageUtil.PageRequest;
import com.java.zhuiyun.util.pageUtil.PageResult;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @InterfaceName CourseService
 * @Description TODO
 * @Author 杨友朋
 * @Date 2023/8/14 15:14
 **/
public interface BackCourseService {
    /**
    * @Author 杨友朋
    * @Description TODO 查询课程
    * @Date 2023/8/15 21:00
    * @Return
    * @param
    */
    PageResult selectCourse(BackCourseModel backCourse, PageRequest pageRequest);

    /**
    * @Author 杨友朋
    * @Description TODO 添加课程
    * @Date 2023/8/15 21:00
    * @Return
    * @param
    */
    CommonResult addCourse(MultipartFile file, BackCourse backCourse);

    /**
    * @Author 杨友朋
    * @Description TODO 根据id单查课程
    * @Date 2023/8/15 21:01
    * @Return
    * @param
    */
    CommonResult selectCourseById(Integer id);

    /**
    * @Author 杨友朋
    * @Description TODO 删除课程
    * @Date 2023/8/17 19:37
    * @Return
    * @param
    */
    CommonResult delCourse(Integer id);

    /**
     * @Author 杨友朋
     * @Description TODO 查询菜单列表
     * @Date 2023/8/24 9:23
     * @Return
     * @param
     */
    List<SysDictPc> selectDict();

    /**
     * @Author 杨友朋
     * @Description TODO 修改课程
     * @Date 2023/8/24 9:23
     * @Return
     * @param
     */
    CommonResult updateCourse(MultipartFile file1, BackCourse backCourse);

    /**
     * @Author 杨友朋
     * @Description TODO 更改状态
     * @Date 2023/8/24 9:23
     * @Return
     * @param
     */
    CommonResult upSwitch(BackCourse backCourse);

    PageResult teacherSelectCourse(BackCourseModel backCourse, PageRequest pageRequest);

    Teacher selectTeacherId(Integer userId);
}
